#include "..\PropertyMaker.h"

#include "BoolProperty.h"
#include "DoubleProperty.h"
#include "FloatProperty.h"
#include "IntProperty.h"
#include "StringProperty.h"
#include "UnsignedIntProperty.h"
#include "Vector3Property.h"
#include "VoidPtrProperty.h"

namespace XF
{
	PropertyMaker<BoolProperty, bool> BoolProperty::mRegisterThis("bool", false);
	PropertyMaker<DoubleProperty, double> DoubleProperty::mRegisterThis("double", 0.0);
	PropertyMaker<FloatProperty, float> FloatProperty::mRegisterThis("float", 0.0f);
	PropertyMaker<IntProperty, int> IntProperty::mRegisterThis("int", 0);
	PropertyMaker<StringProperty, std::string> StringProperty::mRegisterThis("string", "");
	PropertyMaker<UIntProperty, unsigned int> UIntProperty::mRegisterThis("uint", 0);
	PropertyMaker<Vector3Property, XF::Vector3> Vector3Property::mRegisterThis("vector3", XF::Vector3(0.0f ,0.0f, 0.0f));
	PropertyMaker<VoidPtrProperty, void*> VoidPtrProperty::mRegisterThis("voidptr", NULL);
}

